Zurück in Elementare ProgrammentwicklungWeiter in Elementare ProgrammentwicklungSubroutine am Beispiel Quadrat Zusammenfassung ?

Dieses Thema übersetzt das entwurfssprachliche Unterprogramm QuadratFesterLänge in eine gleichnamige VBA-Subroutine. Eine Subroutine fasst mehrere programmiersprachliche Anweisungen unter einem Namen zusammen. Der  entwurfssprachlichen Anweisung

Zeichne die Gerade(100,100, 200,200):

entspricht die VBA-Anweisung ...

Dialogblatt.Shapes.AddLine(100,100, 200,100).Visible = True

Die VBA-Anweisung besteht aus den folgenden Elementen:

Die Zeilen Sub QuadratFesterLänge() und End Sub fassen vier solche Geradenanweisungen zu einer Subroutine zusammen. With und End With verhindern, dass Dialogblatt.Shapes dreimal geschrieben werden muss. Sie finden den Code dieser Subroutine als Lösung der Aufgabe A in der Arbeitsmappe QuadratProgrammiert.xls (»Alt/11, Ctrl/R und Doppelklick auf 'ModulQuadrat'):

Sub QuadratFesterLänge()
  With Dialogblatt.Shapes
    .AddLine(100,100, 200,100).Visible = True
    .AddLine(200,100, 200,200).Visible = True
    .AddLine(200,200, 100,200).Visible = True
    .AddLine(100,200, 100,100).Visible = True
  End With
End Sub

Die Verwendung einer Subroutine bringt die folgenden Vorteile:

Die leere Klammer nach dem Namen der Subroutine muss stehen, hat aber in unserem Beispiel keine Bedeutung. Die Klammern nehmen allfällige Argumente auf. QuadratFesterLänge() ist nämlich unflexibel, weil immer an der gleichen Position ein Quadrat der gleichen Länge gezeichnet wird. Diesen Mangel können Argumente beheben, die beim Aufruf der Subroutine übergeben werden. Sinnvolle Argumente wären in unserem Beispiel die Position und Länge des zu zeichnenden Quadrats. Das Hilfethema Argumente zeigt, wie Sie Unterprogramme mit Argumenten definieren.

Eine Subroutine ist ein Unterprogramm, das aus formal und inhaltlich zusammengehörenden Anweisungen besteht, die sich unter einem Namen aufrufen lassen. Eine zweite Klasse von Unterprogrammen heisst Funktion. Die Entwicklung eines Programms aus verschiedenen Unterprogrammen ist nur dann effizient, wenn eine komfortable Entwicklungsumgebung die Erstellung und den Test von Unterprogrammen unterstützt.


Aufgabe Übung Hexagon